//创建和初始化地图函数：
/*function initMap(){
 createMap();//创建地图
 setMapEvent();//设置地图事件
 addMapControl();//向地图添加控件
 addMarker();//向地图中添加marker
 }*/

//创建地图函数：
function createMap(){
    var map = new BMap.Map("dituContent");//在百度地图容器中创建一个地图
    var point = new BMap.Point(markerArr.point.split(",")[0],markerArr.point.split(",")[1]);//定义一个中心点坐标
    map.centerAndZoom(point,14);//设定地图的中心点和坐标并将地图显示在地图容器中
    window.map = map;//将map变量存储在全局
}

//地图事件设置函数：
function setMapEvent(){
    map.enableDragging();//启用地图拖拽事件，默认启用(可不写)
    map.enableScrollWheelZoom();//启用地图滚轮放大缩小
    map.enableDoubleClickZoom();//启用鼠标双击放大，默认启用(可不写)
    map.enableKeyboard();//启用键盘上下左右键移动地图
}

//地图控件添加函数：
function addMapControl(){
    //向地图中添加缩放控件
    var ctrl_nav = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE});
    map.addControl(ctrl_nav);
    //向地图中添加比例尺控件
    var ctrl_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT});
    map.addControl(ctrl_sca);
}

//标注点数组
//var markerArr = [{title:"这里是公司名称",content:"这里是公司地址",point:"103.832859|36.060712",isOpen:0,icon:{w:21,h:21,l:0,t:0,x:6,lb:5}}];
//标注点
var markerArr = {
    area:"",
    company:"",
    address:"",  //可用于按地址解析位置
    point:"",   //当用户未标注时，该值为空,"103.832972,36.060573"
    isOpen:0,
    icon:{w:21,h:21,l:0,t:0,x:6,lb:5}
};
//创建和初始化地图函数：
function initMap(){
    $.ajax({
        type: "POST",
        url: "/"+$("input[name='domain']").val()+"/baidumap.htm",
        dataType: "json",
        success: function (result) {
            markerArr.area=result.city;
            markerArr.company=result.company;
            markerArr.address=result.address;
            markerArr.point=result.point;
            createMap();//创建地图
            setMapEvent();//设置地图事件
            addMapControl();//向地图添加控件
            addMarker();//向地图中添加marker
        },
        error: function () {  }
    });
}
//创建marker
function addMarker(){
    var p0 = markerArr.point.split(",")[0];
    var p1 = markerArr.point.split(",")[1];
    var point = new BMap.Point(p0,p1);
    var iconImg = createIcon(markerArr.icon);
    var marker = new BMap.Marker(point,{icon:iconImg});
    var iw = createInfoWindow();
    var label = new BMap.Label(markerArr.company,{"offset":new BMap.Size(markerArr.icon.lb-markerArr.icon.x+22,1)});
    marker.setLabel(label);
    map.addOverlay(marker);
    label.setStyle({
        borderColor:"#999",
        color:"#333",
        cursor:"default",
        padding:"1px 3px"
    });

    (function(){
        var _iw = createInfoWindow();
        var _marker = marker;
        _marker.addEventListener("click",function(){
            this.openInfoWindow(_iw);
        });
        _iw.addEventListener("open",function(){
            _marker.getLabel().hide();
        })
        _iw.addEventListener("close",function(){
            _marker.getLabel().show();
        })
        label.addEventListener("click",function(){
            _marker.openInfoWindow(_iw);
        })
        if(markerArr.isOpen){
            label.hide();
            _marker.openInfoWindow(_iw);
        }
    })()
}
//创建InfoWindow
function createInfoWindow(){
    var iw = new BMap.InfoWindow("<b class='iw_poi_title' title='" + markerArr.company + "'>" + markerArr.company + "</b><div class='iw_poi_content'>"+markerArr.address+"</div>");
    return iw;
}
//创建一个Icon
function createIcon(json){
    var icon = new BMap.Icon("http://uii.fanna.com.cn/company/common/mapico.png", new BMap.Size(json.w,json.h),{imageOffset: new BMap.Size(-json.l,-json.t),infoWindowOffset:new BMap.Size(json.lb,1),offset:new BMap.Size(json.x,json.h)})
    return icon;
}

initMap();//创建和初始化地图